home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 February: Tool Chest / Dev.CD Feb 00 TC.toast / pc / tool chest / macapp / install macapp r13u4 / Apple Frameworks / MacApp / Libraries / MacAppSwitches.h / MacAppSwitches.h
Encoding:
Text File  |  1998-10-13  |  7.4 KB  |  305 lines  |  [TEXT/CWIE]

  1. // MacAppSwitches.h
  2. // Copyright © 1985-98 by Apple Computer, Inc. All rights reserved.
  3.  
  4. /*
  5.     Change History:
  6.         09/08/98    [2271933] Removed definition of qAllegro.  You should
  7.                     now test against UNIVERSAL_INTERFACES_VERSION >= 0x0320.
  8.         07/17/98    [TY] Don’t set qNames if already defined.
  9.         06/16/98    Added qWantsContextualMenus.
  10.         03/03/98    Add qDragObsolete. 
  11.         02/13/98    Don’t set qDrag for Windows.
  12.         01/29/98    Added qPublishSubscribe flag.
  13.         01/27/98    Set default value of qExportSymbols_MA.
  14.         01/16/98    Removed ALOE support.
  15. */
  16.  
  17.  
  18. // MacAppSwitches and the ACS.
  19. //        Some switches are inherited from the ACS, qCoreDebug for example. The switches
  20. //        in this file inherit some switches from the ACS. If the ACS is set to be built
  21. //        debug, i.e. qCoreDebug is set, then the switches in this file will be set to be 
  22. //        built debug, i.e. qDebug etc., will be set.
  23.  
  24. // Usage Note:
  25. //        The settings in this file represent the default way to build MacApp. The way
  26. //         the settings are set up, they are designed to be overridden easily by defining
  27. //         different values for any of them in "MacAppAutoSwitches.h".
  28.  
  29. // When Should I Include this File?
  30. //        Rarely.  You should include MacAppRequired.h instead.  It will include
  31. //        this file (MacAppSwitches.h) as well as MacAppAutoSwitches.h.
  32.  
  33.  
  34. #ifndef __MacAppSwitches__
  35. #define __MacAppSwitches__
  36.  
  37. // =========================================================
  38. // Misc Flags
  39. // =========================================================
  40. // In case the build system doesn't supply these.
  41. // MacApp uses 1 and 0 in preprocessor identifier definitions and 
  42. // preprocessor conditional tests and uses true and false for bool and bool values.
  43. // However, these definitions are left in for compatibility.
  44.  
  45. #if !defined(TRUE)
  46. #    define TRUE 1
  47. #endif
  48.  
  49. #if !defined(FALSE)
  50. #    define FALSE 0
  51. #endif
  52.  
  53. #ifndef qExportSymbols_MA
  54.     #define qExportSymbols_MA 0
  55. #endif
  56.  
  57. #if !defined(qBackwardCompatible)
  58. #    define qBackwardCompatible 0
  59. // set to true to leave in compatibility sops that will probably be removed
  60. // in a subsequent release
  61. #endif
  62.  
  63. #if !defined(qMacApp)
  64. #    define qMacApp 1
  65. #endif
  66.  
  67. #if !defined(qNoCode)
  68. #    define qNoCode 0
  69. #endif
  70.  
  71. #if !defined(qSegments)
  72. #    define qSegments 0
  73. #endif
  74.  
  75. // ========================================================
  76. // System Software requirements
  77. // ========================================================
  78.  
  79. #ifndef qNeedsSystem7_5
  80. #    define qNeedsSystem7_5 0
  81. #endif
  82.  
  83. #ifndef qNeedsSystem8
  84. #    define qNeedsSystem8 0
  85. #endif
  86.  
  87. #ifndef qNeedsColorQD
  88. #    define qNeedsColorQD 1
  89. #endif
  90.  
  91. // ========================================================
  92. // MacApp Features
  93. // ========================================================
  94.  
  95. #ifndef qAppleEventAware
  96. #    if qMSWindows
  97. #        define qAppleEventAware 0
  98. #    else
  99. #        define qAppleEventAware 1
  100. #    endif
  101. #endif
  102.  
  103. #ifndef qAttachable
  104. #    define qAttachable qAppleEventAware
  105. #endif
  106.  
  107. #ifndef qOptimizeSelfSendAevt
  108. #    define qOptimizeSelfSendAevt 1    
  109. #endif
  110.  
  111. #ifndef qDrag
  112. #    if qMSWindows
  113. #        define qDrag 0
  114. #    else
  115. #        define qDrag 1
  116. #    endif
  117. #endif
  118.  
  119. // qWantsContextualMenus controls whether the application will
  120. // recognize the use of contextual menus.  If this feature is turned
  121. // on then the Contextual Menu Manager SDK will be required.
  122. #ifndef qWantsContextualMenus
  123. #    if qMSWindows
  124. #        define qWantsContextualMenus 0
  125. #    else
  126. #        define qWantsContextualMenus 1
  127. #    endif
  128. #endif
  129.  
  130. // qDragObsolete is for drag & drop methods that will eventually
  131. // be removed from TView. For the first phase of the transition
  132. // we support the obsolete methods just like the regular ones. 
  133. #ifndef qDragObsolete
  134. #    define qDragObsolete qDrag
  135. #endif
  136.  
  137. // This flag will be depracated and removed.  
  138. // Use qEmulateStandardControls and qNeedsAppearance instead.
  139. // It is being left in for now to minimize breaking dependencies on it.
  140. #ifndef qGrayscaleAppearance
  141. #    define qGrayscaleAppearance 1
  142. #endif
  143.  
  144. // This controls whether TButton, TCheckBox, TRadio, and TPopup should
  145. // be emulated using AGA when the Appearance Manager is not present.
  146. #ifndef qEmulateStandardControls
  147. #    define qEmulateStandardControls 1
  148. #endif
  149.  
  150. // This controls whether Appearance AGA emulation code should be stripped
  151. // for all new controls, and whether the Appearance Manager is required
  152. // to be present.
  153. #ifndef qNeedsAppearance
  154. #    define qNeedsAppearance 0
  155. #endif
  156.  
  157. #ifndef qGXPrinting
  158. #    define qGXPrinting 0
  159. #endif
  160.  
  161. #ifndef qPublishSubscribe
  162. #    define qPublishSubscribe 0
  163. #endif
  164.  
  165. // ========================================================
  166. // Template views support
  167. // ========================================================
  168.  
  169. #ifndef qTemplateViews
  170. #    define qTemplateViews 1
  171. #endif
  172.  
  173. #ifndef qWriteTemplateViews
  174. #    define qWriteTemplateViews 0
  175. #endif
  176.  
  177.  
  178. // ========================================================
  179. // Debugging
  180. // ========================================================
  181.  
  182. // Detailed Debugging support
  183. //     • wantDebugging is sort of one stop shopping for debugging
  184. //    • qDebug is a generic flag to turn on debugging, historically qDebug
  185. //       is owned by MacApp.
  186. //    • qCoreDebug is inherited from ACS Core suite (defined in CoreSwitches_AC.h).
  187.  
  188. #if wantDebugging || qDebug || qCoreDebug
  189.  
  190. // Debug
  191. #    ifndef qDebug    
  192. #        define qDebug 1
  193. #    endif
  194. #    ifndef qDebugMsg
  195. #        define qDebugMsg 1
  196. #    endif
  197. #    ifndef qSym
  198. #        define qSym 1
  199. #    endif
  200. #    ifndef qTheDebugger
  201. #        define qTheDebugger 0
  202. #    endif
  203. #    ifndef qInspector
  204. #        define qInspector 1
  205. #    endif
  206. #    ifndef qRangeCheck
  207. #        define qRangeCheck 1
  208. #    endif
  209. #    ifndef qPerform
  210. #        define qPerform 0
  211.         //CW can use MPW's performance tools except when Jasik's debugger is
  212.         //running under emulation. Try it with Macsbug, MW Debug, SourceBug, 
  213.         //or Jasik running on a 68K machine. (The same limitation applies
  214.         //when Jasik is used with a CFront build.)
  215. #    endif
  216.  
  217. #    ifdef MW_REZ
  218. #        define qNames 1
  219. #    else
  220. #        ifndef qNames
  221. #            define qNames (__option(macsbug) || __option(oldstyle_symbols))
  222. #        endif
  223. #    endif
  224.  
  225. #else
  226.     // if defined(wantDebugging) || defined(qDebug) || defined(qCoreDebug)
  227.  
  228. // NoDebug Builds:
  229.  
  230. #    ifdef qDebug
  231. #        undef qDebug 
  232. #    endif 
  233. #    define qDebug 0
  234.  
  235. #    ifdef qDebugMsg
  236. #        undef qDebugMsg
  237. #    endif
  238. #    define qDebugMsg 0
  239.  
  240. #    ifdef qSym
  241. #        undef qSym
  242. #    endif
  243. #    define qSym 0
  244.  
  245. #    ifdef qTheDebugger
  246. #        undef qTheDebugger
  247. #    endif
  248. #    define qTheDebugger 0
  249.  
  250. #    ifdef qPerform
  251. #        undef qPerform
  252. #    endif
  253. #    define qPerform 0
  254.  
  255. #    ifdef qRangeCheck
  256. #        undef qRangeCheck
  257. #    endif
  258. #    define qRangeCheck 0
  259.  
  260. #     ifdef qInspector
  261. #        undef qInspector
  262. #    endif
  263. #    define qInspector 0
  264.  
  265. #    ifdef MW_REZ
  266. #        define qNames 0
  267. #    else
  268. #        ifndef qNames
  269. #            define qNames (__option(macsbug) || __option(oldstyle_symbols))
  270. #        endif
  271. #    endif
  272.  
  273. #endif
  274.  
  275. // ========================================================
  276. // Virtual user support
  277. // ========================================================
  278.  
  279. #ifndef qNeedsVU
  280. #    define qNeedsVU 0
  281. #endif
  282.  
  283. // Disable virtual user if not compiling for CFront or for PowerPC.
  284. // Necessary because virtual user attempts to call our VU assist hook
  285. // using Apple C calling convention. MacApp declares a UPP/procInfo that
  286. // enables the callback to work in PowerPC builds. There is currently no
  287. // way to use the VU assist module in non-CFront and non-PowerPC builds.
  288.  
  289. #if !defined(qNeedsVU) || (!defined(applec) && !qPowerPC)
  290. #    undef qNeedsVU
  291. #    define qNeedsVU 0
  292. #endif
  293.  
  294. // ========================================================
  295. // Sanity Checks
  296. // ========================================================
  297.  
  298. // MPW's performance tools can't work with PPC or CFM68K builds.
  299. #if qPowerPC || qModelCFM
  300. #    undef qPerform
  301. #    define qPerform 0
  302. #endif
  303.  
  304. #endif // __MacAppSwitches__
  305.